<?php

namespace UserProposal;

/**
 * Набор функций для обслуживания предложения пользователя о переименовании сущности
 * Применять к Model2
 * 
 * @author kosh
 */
trait EditTrait {
	protected static $_prepareEditProposalFields = array (
			'_id',
			'title' 
	);
	
	/**
	 * Загружаем сущность, отдаём указанные поля
	 * 
	 * @param unknown $id        	
	 * @param unknown $params        	
	 */
	static function prepareEditProposal($id, $params) {
		$data = static::find ( $id , false);
		$res = [ ];
		foreach ( static::$_prepareEditProposalFields as $key ) {
			$res [$key] = $data [$key];isset($data [$key])?$data [$key]:null;
		}
		return $res;
	}
	/**
	 * Обрабатываем входные данные перед созданием записи предложения
	 * 
	 * @param unknown $id        	
	 * @param unknown $params        	
	 */
	static function createEditProposal($id, $params) {
		return $params;
	}
	
	/**
	 * Решение принято, Меняем заголовок сущность
	 * 
	 * @param unknown $id        	
	 * @param unknown $params        	
	 * @return unknown
	 */
	static function actionEditProposal($id, $params) {
		$entity = static::find($id);
		$entity->title = $params['title'];
		$entity->save();
	}
}